****************************************************************** 
****************************************************************** 
*****                                                        *****
*****     Quake III Arena (c) 1999-2000 Id Software Inc.     *****
*****               Beta Point Release v1.25y                ***** 
*****                                                        *****
****************************************************************** 
****************************************************************** 

THIS IS A BETA RELEASE OF MODIFICATIONS TO THE QUAKE III ARENA GAME CODE.  THIS IS NOT FINAL CODE. IF YOU DO NOT WISH TO PARTICIPATE IN THE PROCESS OF REFINING AND DEBUGGING THESE ADDITIONS TO QUAKE III ARENA, DO NOT DOWNLOAD THIS POINT RELEASE.

GAME MODIFICATIONS (MODS) BASED ON VERSION 1.17 CODE WILL NOT FUNCTION WITH THIS POINT RELEASE AND MAY CAUSE MALFUNCTIONS. 

Since the release of Quake III Arena in 1999, id's development team has been working to address issues that have risen within the code. These issues involved correction of newly discovered errors, responding to requests for new features, adding features to improve on-line functionality, and ways to allow beneficial and fun game modifications -- while still making it hard for players to cheat.

With this point release or "patch," our primary focus is to bring the original Quake III Arena operation up to date with many of the improvements to be found in Quake III: Team Arena, the first official add-on pack for Quake III Arena. In addition, the point release addresses on-line cheating, adds some new gameplay features, including the ability to participate in MPlayer's new Global Rankings statistic tracking, and eliminates the CD check for the single player game and for setting up servers running bots.

--------------------------------
| If You Choose to Participate |
--------------------------------
If you choose to participate in testing the Beta Point Release, please do the following:

This point release must be installed on top of the v1.17 point release made earlier in 2000. If you have an out-of-the-box, unmodified installation of Quake III Arena, you will need to install the v1.17 point release first.

In addition to replacing the Quake III Arena executable file, v1.25 also installs pak4.pk3, a new id Pak File in your baseq3 directory. This new Pak File contains information that will overwrite and/or add to assets currently used to play the game. The changes and new assets focus on updating bot function, modifying the user interface, and adding new game play sounds.

Remove all game mods created for use with v1.17 code, including game variants like Rocket Arena 3, Q3F, Weapons Factory, and Urban Terror. Remove all precompiled v1.17 .dll files from your baseq3 and root Quake III Arena game directories. Don't delete them just move them out. If you decide to reinstall v1.17 until the mods are updated, you don't have to download them again. 

Remove all mods that that interact with Quake III Arena's user interface, such as Arenaspy. Again, don't delete them, just move them out of the way.

You do not need to remove maps or player model files - only modifications that change the way the game plays or the way that the user interface works. In fact, we will want to hear from players who have large numbers of installed pak files.

If the game seriously malfunctions, before assuming that you have found a bug, close the game down and do a more thorough search in your root Quake3 directory. You may want to change you're the View options on your Desktop windows. Select View, then Folder Options. Select the View tab. Check "Show all files" under hidden files and uncheck "Hide file extensions for known file types". This should let you see everything in that directory. Remove anything with a .dll file extension.

If, after determining that you have no v1.17 modifications running, you still encounter problems, please let us know of them. Send bug reports to:

Bugs@idsoftware.com

Give us as much information as you can about the problem. Please include details about your game system (if you know them):

Computer Brand name, if applicable (such as Dell, Gateway, Hewlett-Packard)
Processor
Amount of RAM
Video card and installed drivers
Operating System: (Win95, Win98, Win98SE, WinME, WinNT, Win2K)
 

****************************************************************** 
*                                                                *
*               New Updates to version 1.25y                     *
*                                                                *
****************************************************************** 

- Restored Movement Physics. Quake III Arena, through version 1.17 contained bugs that caused decimals in code to be rounded differently, depending on what operating system was in use. This was a bug that affected more than just movement code and had to be corrected. V1.25 unified that code to a single method of rounding decimals. As a by-product of that bug fix, the feel of the player movement changed. V1.25y "restores and isolates" the "bug" (the method of rounding) to the movement code only, which should, in effect restore the physics that most players have been requesting. 


-------------------------------------------------
| New Console or Revised Commands and Variables | 
------------------------------------------------- 

-/clientkick
The /kicknum console command has been renamed to /clientkick. This was done for command completion because the /kick command was being renamed to /kicknum when TAB was hit.

-/fdir
The fdir command allows the user to search his game directory for the presence of file types. A common use for this might be to search out the file names of maps that are often buried inside pak files with different names.

Syntax: fdir <filter>
Example: fdir *q3dm?.bsp   - In this example, the user is searching all subdirectories (the "*" stands in for the path name) for game maps (the .bsp file extension) that have the letters "q3dm" in their name AND that are followed by a single character (indicated by the "?").

One or more metacharacters may be used in the filter.

*          match any string of zero or more characters
?          match any single character
[abc...]   match any of the enclosed characters; a hyphen can
           be used to specify a range (e.g. a-z, A-Z, 0-9)

Files are sorted in alphabetic order.

--------------------------------
| Bug Fixes and Code Additions | 
-------------------------------- 

Note: Many of the bugs reported were caused by conflicts between v1.17 mods and the v1.25 user interface. Removal of the conflicting mods eliminated the bugs.

-Fixed callvote/spectator bug

-Reworked physics code to allow 1.17 style movement while retaining the fluid control and feel of 1.25.

-Fixed bug that caused teammates in CTF/team games to show as incorrect color until TAB (scoreboard show) was pressed.

-Fixed bug where force model did not force model to the model used by the player.

-Fixed Global Rankings problem that changed your name to player's login ID. Player no longer has to rename self before playing.

-Fixed bug that limited recognition of pk3 files to a maximum of 99.

-Fixed bug that prevented bots from being kicked from a listen server.

-Fixed code to allow kicking of clients with spaces in their names.

-Fixed bug that awarded 20 points for fragging your own flag carrier (when friendly fire was on).

-Spelling in Spectator message corrected. Message now indicates that "START" must be selected on the menu to play.

-Fixed long-standing bug in the console in which pressing TAB for command completion removed all quotes (") in the line.

-"Lagometer" was re-enabled.

-Fixed bug that kept config settings for status of Team Overlay (in the HUD) from being saved.

-Fixed bugs related to graphics display by Voodoo 3D accelerator cards.

-Fixed problem causing screenshots to overwrite screenshots from previous play session.

-Map diagnostic commands, r_showtris, r_nocurves and r_lockpvs re-enabled.


****************************************************************** 
*                                                                *
*               New Updates to version 1.25                      *
*                                                                *
****************************************************************** 

---------------------
| CD Check Disabled |
---------------------

Quake III Arena no longer requires the game CD to be in place before starting a single player game or before starting a multiplayer server that uses bots.

----------------------------
| Cheating Countermeasures |
----------------------------

Since point release v1.17 was distributed, several game "hacks" have cropped up that circumvent the game features intended to prevent on-line cheating. Version 1.25 counters those hacks and provides additional protection against future cheating methods.

---------------
| Menu Change |
---------------
On the in-game menu, the word "START" now appears instead of the word "TEAM." When you enter a game for the first time, select START. Your allowed options are in red.  For team games, selecting JOIN RED or JOIN BLUE puts you on a team. For Free for All, you enter the match. For Tournament, you enter the queue waiting to play your match. SPECTATE moves you into the ranks of those watching the game.

--------------------
| New Medal Awards |
--------------------

Two new medals will be awarded to players during Capture the Flag games.  These medals recognize individual player actions that often go unheralded in the heat of play.

Assist
======

This medal is awarded whenever the player actively participates in a capture being made. Active participation includes carrying the flag part of the way, or close proximity defense (fragging attackers) of the flag carrier close to the time the capture is made.

Defense
=======

This medal is awarded whenever the player either frags a foe who is physically near the flag base or when the player frags a foe anywhere else while he himself is near the flag base.

----------------------------
| Score Balloons/Plumes    |
----------------------------
When a player scores a point or points (including negative points) in any game type, the awarded point value floats up from the target like a balloon and slowly fades out.

-------------------
| Reselect Models |
-------------------

Players who regularly play team games like Capture the Flag or Team DM will want to specify the model they use in team games, which can be different from the ones they may use in Free for All (FFA) or Tournament matches. Type "/team_model <model>" in the command line of the console and hit Enter. If you want your head to be different than the one normally used by the model, type in "/team_headmodel <model>" and hit Enter. Example: "/team_model major" and "team_headmodel mynx" will give you a model in team games with mynx's head sitting on major's body.  The same can be done for FFA and Tournament games. /model selects the body model and /headmodel the model used for the head.  Player sounds are those specificed for the body model.  

------------------------------------
| Enhanced Capture the Flag Sounds |
-----------------------------------

A variety of new sounds have been added to enhance the Capture the Flag game and bring it in line with the type of audio feedback that will be in Quake III: Team Arena.

----------------------------------------------
| Enhanced Bot Artificial Intelligence (A.I.) |
----------------------------------------------

The Quake III Arena bots should play an even better game now, with particular focus given to the CTF games. Part of this change includes revised navigation files (.aas) for the original game maps. Older navigation files will still work. However, Quake III Arena players who make their own original maps for use with bots will want to recompile (bspc) their Navigation files as soon as the revised tools become available. In the meantime, those maps will run, but the bots will not take full advantage of their new A.I. features until after a new navigation file has been made.

--------------------------------
| Global Rankings from MPlayer |
--------------------------------

MPlayer, the hosts for www.quake3world.com, have created a Global Rankings system that is now integrated into Quake III Arena. Global Rankings is a FREE, automated ranking and statistics system that gives game players their game rankings and statistics immediately after their game has ended. Players can play on any server, any service and almost any platform (currently supports PC, Mac and Linux). The statistics reported will vary by game. For more information on Global Rankings, see the GRreadme.txt file in your Quake III Arena directory.

--------------------------------------
| New Console Commands and Variables | 
--------------------------------------

The following console commands and variables ("c-vars") have been added to the game since v1.17 and were a part of the original release of v1.25. Not all were documented.

/headmodel - changes only the head of the model to another model. Example: If you are playing as the Grunt model, /headmodel "sarge" will stick Sarge's head on Grunt's body. Selecting a new model will load both the model and its matching head. 

/team_model - changes to a model that will only be used during team game play. 

/team_headmodel - changes head model to a head that will only be used during team game play. 

/cg_scorePlums - this enables the display of the floating scoring number balloons. The default is 1 (on). 

/cg_teamChatsOnly - When enabled only chats from team mates will be displayed. 

/set disable_<item name> - This command allows the administrator of a server to disable a particular item from the map. As an example: "/set disable_weapon_bfg 1" will make it so that the bfg does not show up in a map. Changing the value back to 0 and executing a /map_restart command will bring the disabled item back. 

/pmove_fixed - Typically the player physics advances in small time steps. When this option is enabled all players will use fixed frequency player physics, the time between two advances of the physics will be the same for all players. The actual time between two advances of the player physics can be set with the pmove_msec variable. Enabling this option will make the player physics the same for all players independent from their framerate. 

/pmove_msec <milli-seconds> - Sets the time in milliseconds between two advances of the player physics. 

/g_smoothClients - Enables players to use the smooth clients option (cg_smoothClients). 

/cg_smoothClients - When g_smoothClients is enabled on the server and you enable cg_smoothClients then players in your view will be predicted and will appear more smooth even if they are on a bad network connection. However small prediction errors might appear. 

/sv_pakNames - lists all the pk3 files the server found. 

/sv_referencedPakNames - lists all the pk3 files the server loaded data from. These pk3 files will be autodownloaded by a client if the client does not have them. 

/fs_openedList - lists all the pk3 files the client found. 

/fs_referencedList - lists all the pk3 files the client loaded data from. 

/serverstatus [server address/ip] - lists information about the given server or the server connected to if no address is specified. 

/showip - shows your own IP address. 

/kick <player name> - kicks the player with the given name. If nobody uses the name "all" and "all" is specified as player name then everyone is kicked. If there are no bots with the name "allbots" and "allbots" is specified as player name then all the bots are kicked. 

/kicknum <client num> - kicks the client with the specified number. 

/r_ext_compress_textures was renamed to r_ext_compressed_textures and 

defaulted to 0. If you are using an S3 video card, you will want this to be set to 1. All other users should set it to the default of 0. 

--------------------------------
| Bug Fixes and Code Additions | 
-------------------------------- 
The following changes were a part of the original release of v1.25. Not all were documented.

- We're at network protocol 45. Old demos (created in v1.17 and earlier) will not work due to network protocol changes. This is not a temporary situation.

- Fixed autodownload code. 

- Autodownload is now independent from pure (can autodownload from a non-pure server). 

- Fixed double map loads on connect. 

- Fixed dropped sound bugs. 

- New pure server code. 

- New network encryption. 

- Added score balloons that appear over targets/locations where the player has scored individual points. 

- Global Rankings support. Quake III Arena supports and interacts with MPlayer's statistic recording and ranking system. 

- Fixed a Quake3 Virtual Machine (qvm) round off bug. The qvm player phsysics are now the same as the 1.17 DLL physics. 

- Modified awards for individual scores. 

- Added the Defense Award and medal for defensive actions in team play. 

- Added the Assist award and medal for actions, which assist the flag carrier in scoring a capture. 

- Added new botlib and area files. Bots will interact more effectively with the game environment. 

- Bots understand better how to use buttons and triggers. 

- Bots can be given a fractional skill when adding them from the console. For instance use "/addbot grunt 4.6 blue" to add a 4.5 skill Grunt to team blue. 

- Added headmodel support to allow players to switch heads between models (see more detail explanation above)

- Added team_model / team_headmodel cvars. Separate model and head can be specified for teamplay games only. (see more detail explanation above)

- Memory usage is a lot more economical when using qvms. 

- Expanded number of pak files that may be used from 64 to 1024. 

- Fixed dropped reliable commands on map change. 

- Fixed dropped reliable commands which caused bots to appear on the wrong team or as spectator on the scoreboard. 

- Fixed r_lodCurveError exploit. 

- Fixed remote server crash. 

- Fixed voting bugs that allowed people to vote multiple times. 

- Weapon firing is more responsive. 

- The MedKit now adds 125 health instead of 100. 

- New spawn (random) furthest code. 

- MD4 skeletal model support 

- Added weapon and item banning on servers.
 

****************************************************************** 
*                                                                *
*               New Updates to version 1.17                      *
*                                                                *
****************************************************************** 

This patch fixes a fairly serious security flaw in Quake 3 Arena. Internet Security Systems identified the flaw and notified us with reproduction details as well as an overview of the exploit. The basic nature of the exploit is that malicious server operators could overwrite any file on a client system. This type of thing is always possible with DLL based mods ( which is why we strongly recommend VM based mods ) but with this exploit, it was possible within the VM system. 

To help facilitate a rapid transition to the new codebase we have also bumped the network protocol version. This means 1.17 is not network compatibile with any prior version.

The install also includes all 3 PK3 files, because the original "pak1.pk3" was not included in the final 1.16 release for Mac and Win32 builds. This will address some pure server connection issues. You will have to have all 3 pak files present to connect to a pure server.

In addition to this security fix, we have also fixed the following:

- Callvote to single player game type causes the server to crash.
- Crash in bot initialization on some systems.




****************************************************************** 
*                                                                *
*               New Updates to version 1.16k-n                   *
*                                                                *
****************************************************************** 

1.16n
-Unlatched sv-pure 
-Added designer models
-Fixed gamestate reload when running mods in pure mode

1.16k-m
-Fixed Models and Skins not showing up when you have more than the max ( 256 )
-Fixed Single player loop issue when a bunch of pk3 files ( 100-200 ) exist in baseq3
-Fixed issue with greater than 1K server config strings, this only happens when you have several hundred PK3 files
-Added Q3Space-CTF, a 2 on 2 CTF modification of Q3Tourney6
-Updated bot behaviour to work better with the platform in Q3Space-CTF
-Turn off floating point exceptions ( fixes potential crash right after startup )
-Fixed unpure client bug when levelshots loaded out of secondary pk3 files
-Fixed connection issues for pure clients
-Fixed invisible player bug when clients connected during downloads

****************************************************************** 
*                                                                *
*               New Updates to version 1.16j                     *
*                                                                *
****************************************************************** 

-Zombie/Ghost unpure clients no longer remain connected.
-Recursive File System error corrected when running mods with logfile set to 1
-The Auto-download rate is controlled by 'sv-maxRate', specify this value in bytes per second. The maximum band rate caps out around 25K per second.

****************************************************************** 
*                                                                *
*               New Updates to version 1.16i                     *
*                                                                *
****************************************************************** 

---------------------  
| Security update |
--------------------- 
This update adds an additional layer of CD Key security.

When you type your CD Key in, the letters and numbers will appear as they normally would. If you leave the screen and return at a later time, blank spaces replace all the characters.



****************************************************************** 
*                                                                *
*               Feature and Functionality Changes                *
*                                                                *
****************************************************************** 

-------------------------
| Pure Servers/Cheating | 
-------------------------
There were some flaws in the original implementation of "Pure Servers." The intent was to keep players from cheating (gaining unfair advantage when playing against other players) by modifying or hacking game code or data on the client (player) side. When a server administrator set his server to run pure, it had the unfortunate side effect of booting out players who had personal character skins or new map pk3 files in their directories.  That was not what id intended.

Server administrators, who want to help prevent cheating, need to run a pure server. This point release adds server side authentication of pure clients. Pure servers now will prohibit entry into a game (with a warning message) if a client is USING a modification that the server is not using (or does not possess as in the case of unique character skins). If a server administrator does not run a pure server, then the game is wide open to any number of cheats.

Serves must also be set to PURE if the server administrator wishes to allow auto downloading.

--------------------
| Auto Downloading |
--------------------
Auto-download was a feature that id patched into the Quake 2 code well after the game was released. It was a wonderful feature for the makers of smaller mods, and for players with fast Internet or local network connections. Players gained easy access to the mod-makers' work.  But for players with dial-up modems, or for attempts to download large modifications (like maps or total game conversions), it was horrible. For that reason, we were concerned about the effects that auto-downloading might have on the quality Quake III Arena play. And with that in mind, id chose not to include auto-downloading with the game.

With this point release, Auto download is active. The default setting for both game servers and game players is "ON."

Auto download can be turned on or off (on the client or player side) by a button on the Setup=>Game Options menu. Set it to "ON" if you want to receive files from a server and "OFF" if you don't. The default value is "ON." If you are comfortable entering commands on the game console's command line, type in "/cl-allowdownload 0" to disable it and hit ENTER. "/cl-allowdownload 1" will turn it on again.  

For Auto downloading to work, the server MUST be set to PURE. Non-pure servers will not auto-download game content. 

There is currently no menu command to enable or disable Server side auto download. On the server side, the auto download commands can only be made through the game console. The default value for server side auto download is on. Server administrators may deactivate auto-download with the c-var command "/sv-allowdownload 0" followed by ENTER. "/sv-allowdownload 1" followed by ENTER turns it on again.


How Auto Downloading works:
---------------------------
The server presents a list of referenced PK3 files to the client (player) computer. In turn the client checks to see if those PK3 files are present in its Quake III Arena folder and, if not, it asks the server to send them. The rules for what is transmitted are as follows:

1. A checklist of all the PK3 files in the server's current fs-game directory (a directory at the same "level" as baseq3 in the Quake III Arena folder that contains game variant mods) is sent to the client computer for comparison purposes. This allows mod authors to add an update to a mod, distribute just the PK3 file containing the changes and have only the new one auto-download.

2. The client computer looks to see which PK3s are being "referenced" (actively used) by the server. Only "referenced" PK3 files are then transmitted from baseq3. This prevents a server from dumping several hundred accumulated PK3 files down to clients. Generally, this includes the entire contents of the fs-game directory containing the mod, and any PK3 file (such as maps) in the baseq3 directory that are being used by the server.

3. PK3 files are checksum compared so if a server has a different checksum than what the client has, the client will download the PK3 from the server.

We strongly recommend that mod makers use a standardized method of naming new versions of their mods. This "versioning" should be done using the PK3 naming mechanism we use when releasing new content. To do this, name your PK3 files in an order that will cause the engine to reference the latest one. Essentially this comes down to naming subsequent versions of your PK3 files properly, like pak0, pak1, pak2, pak3, and so on. PK3 file names need to be all lower case. Example: q3Bobsrevenge0. Might be the first release of a game mod. The next version, which fixes the "Bob drops his gun" bug, would be q3Bobsrevenge1, and so on.

PK3 files are the ONLY file type that will be auto-downloaded. Mods or other game assets not contained within PK3 files will NOT download.

---------------
| DLL Loading |
---------------
A "DLL" is a Dynamic Load Library file. It is a file type unique to the MS Windows environment and is not cross platform compatible (meaning that DLL files will not work on Macintosh computers or PCs using operating systems other than Windows). DLL files also present potential security risks to individual computers that are outside id Software's ability to control or adequately protect against. For those reasons, id strongly recommends against loading game DLL files to modify Quake III Arena and even more strongly requests that all game mods be created as cross-platform compatible QVM files and not as DLLs.

DLL's are now loaded from the appropriate game path (based on fs-game). 
Dedicated servers load DLL's without the confirmation dialog. The ability to load game DLL files is turned on by default. Clients can turn OFF the confirmation dialog by with the console command: "/com-blindlyLoadDLLs  1".
 

---------------
| Mod Support |
---------------
Game modifications, or "mods" are now supported by Mod option on the main menu. Clicking on the "Mods" menu entry will present the user with a list of installed game modifications. 

----------------------
| Mod Creation Notes |
----------------------
To be included on the menu, your mod needs to be in a directory under the game installation ( a peer with baseq3 ), and contain at least one PK3 file. Optionally you can include a "description.txt", which if present the first 48 characters will be presented as the mod name. If a "description.txt" is not found, the directory name is used.

------------------
| Server Browser |
------------------
Ping is the time (approximately) in milliseconds needed for a packet of information to travel from the client to the server and then return. Even though the Quake III Arena Internet code works to make the game playable at most ping rates, lower pings are always a good thing to have.

Minimum and Maximum Ping Exclusions
===================================
Server administrators now have the option to exclude players whose pings are too high (connections so poor that the player cannot reasonably play and is just taking up a space in the map), or too low (players whose high-speed connection rates are so good that they may have an advantage over other players connecting at slower speeds). 

These options are turned off by default. 

The console command "/sv-maxPing [non-zero value]" turns the feature on and sets the maximum acceptable ping value number for a connecting client. Example: /sv-maxPing 450 would lock out players with initial ping connections of greater than 450.

The console command "/sv-minPing [non-zero value]" turns the feature on and sets the minimum acceptable ping value number for a connecting client. Example: /sv-minPing 150 would lock out players with initial ping connections of less than 150.

It should go without saying that if both these commands are set, the maxPing has to be greater than the minPing or no one will be able to connect.

Ping Feedback
=============
The server browser has been modified to give more immediate feedback on whether a server will provide a satisfactory game experience for the player. The color of the ping number now indicates the relative quality of the connection, suggesting good vs. bad pings. If the ping number is green, it means a good (< 200) connection. Yellow means marginal (200 to 400) and Red is considered poor (400+). Finally,a blue ping number indicates that the player's ping is either too high or too low based on the server's min or max ping settings.

Mod Feedback
============
The player's browser now shows the mod, if any, being run by the server.


---------------------------
| Fixes/Additions/Changes |
---------------------------
Point Release v1.16i
====================
-fixed CD Key Security Hole

Point Release v1.16h 
==================== 
-fixed splash damage trading armor for health bug
-fixed hang at gamestate/snapshot when server restarts during long map load
-fixed auto-download time remaining bug
-fixed callvote exploit
-fixed no longer take falling damage when wearing the powersuit
-fixed no longer able to do damage with the gauntlet while in chat/console mode 
-fixed curve lod's are more correctly represented in certain cases
-fixed win32 executable will recognize a Linux Q3A cd
-fixed dll's load from fs-game path
-added min/max pings to server settings
-added ping information to server browser
-added mod ui
-added auto-downloading
-added allow downloads to menu
-added cl-paks only sent to pure servers
-added make sure file system restarts if a pk3 was auto-downloaded
-added server browsers shows mod running

****************************************************************** 
*                                                                *
*                        Revision History                        *
*                                                                *
****************************************************************** 

Version 0.41 - Jan.19.2000 
  * Added known issues with A3d 
  * Updated nVidia driver information 

Version 0.4  Jan.7.2000
  * Added new features list and fixed bug list.

Version 0.3  Dec.30.1999
  * Added "Why does the game sometimes crash if we callvote to another level  while playing CTF?" 

Version 0.2 - Dec.29.1999
  * Added "I'm dropped back to the menu when the server changes levels" 
  * Added "I'm getting stuck at Awaiting Snapshot..." 
  * Added "I'm getting stuck at Awaiting Gamestate..." 

Version 0.1 - Dec.29.1999
  * Initial Release 





